package tests;

import junit.framework.TestCase;

public class ClientTest extends TestCase {
	
//	Server server;
//    Client client;
//    TestUI guest1;
//    TestUI guest2;
//    TestUI registerUser;
//    TestUI registerUser2;
//    TestUI loginUser;
//    DBLogic dbl = new DBLogic();
//    
//    protected void setUp() throws Exception {
//        super.setUp();
//        
//        guest1 = new TestUI(3, 1, 2, 1);
//        guest2 = new TestUI(3, 2, 0, 1);
//        
//        registerUser = new TestUI(1,1,2,new Profile("amit","123","dan@gmail.com"));
//        registerUser2 = new TestUI(1,1,2,new Profile("ran","123","ran@gmail.com"));
//        loginUser = new TestUI(2,2,0,"ran","123");
//                
//        server = new Server();
//        client = new Client();
//        
//        server.setRegistry(java.rmi.registry.LocateRegistry.createRegistry(server.getPort()));
//        IServer remoteServer = (IServer) UnicastRemoteObject.exportObject(server, 0);
//
//        server.getRegistry().bind("Server", remoteServer);
//         
//    }
//    
//    public void testOnlineGame() throws RemoteException, SQLException
//    {
//    	Client.onlineGame(guest1);
//    	assertNotNull(client.getRegistry());
//    	
//    	boolean foundGuestProfile = false;
//    	for (Profile userProfile : server.getRooms().get(0).getClients().keySet())
//    	{
//    	    if (userProfile.getUserName().equals("guest0"))
//    	    {
//    	        foundGuestProfile = true;
//    	        break;
//    	    }
//    	}
//    	assertTrue(foundGuestProfile);
//    	assertFalse(server.getRooms().get(0).isFull());
//    	
//    	Client.onlineGame(guest2);
//    	
//    	assertTrue(server.getRooms().isEmpty());
//    	
//    	/////////////////////////////////
//    	
//    	Client.onlineGame(registerUser);
//    	assertEquals(server.getRooms().size(),1);
//    	
//    	dbl.InitDBConnection();
//    	
//    	assertNotNull(dbl.queryProfile("amit"));
//    	
//    	Client.onlineGame(registerUser2);
//    	assertNotNull(dbl.queryProfile("ran"));
//
//    	assertEquals(server.getRooms().size(),2);
//    	
//    	Client.onlineGame(loginUser);
//    	
//    	assertEquals(server.getRooms().size(),1);
//    	
//    	
//    }
//    
//    protected void tearDown() {
//
//        try {
//            dbl.deleteProfile("ran");
//            dbl.deleteProfile("amit");
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        dbl.ShutDBConnection();
//    }
}
